package leecode

func numOfSubarrays(arr []int) int {
	prefix := make([]int, len(arr)+1)
	for i := 0; i < len(arr); i++ {
		prefix[i+1] = prefix[i] + arr[i]
	}
	result := 0
	a, b := 0, 0
	//和为奇数的子数组的个数为前缀和中奇数的数目 * 偶数的数组
	for i := 0; i < len(prefix); i++ {
		if prefix[i]%2 != 0 {
			a++ //奇数的个数
		} else {
			b++
		}
	}
	result = a * b
	return result
}
